package 线程1;
/**
 * 属性 获取方法
 * ID getId()
 * 名称 getName()
 * 状态 getState()  和进程的状态是类似的效果,存在的意义都是辅助进行调度
 * 优先级 getPriority()    和进程的优先级是类似的效果
 * -- 此处的状态和优先级,和内核PCB中的状态优先级并不完全一致
 *
 * 是否后台线程 isDaemon() -- JVM会在一个进程的所有非后台线程结束后,才会结束运行
 * -- 创建的一个线程,默认不是后台线程.此时,如果main方法结束了,线程还没结束,JVM进程不会结束
 * 如果当前线程是后台线程,此时,如果main方法结束了,线程还没结束,JVM进程就会直接结束.同时也会把这个后台线程一起带走了
 *
 * 是否存活 isAlive() --
 *
 * 是否被中断
 *
 *
 */
public class ThreadDemo9 {
    public static void main(String[] args) {
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                while(true){
                    //打印目前线程名字
                    //Thread.currentThread()能够获取到对应线程的实例.
                    System.out.println(Thread.currentThread().getName());
//                    System.out.println(t.getName());error,
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        },"myThread");
        t.start();
        //在这里也打印一下这个线程的属性
        System.out.println("id: "+t.getId());
        System.out.println("name: "+ t.getName());
        System.out.println("state: "+ t.getState());
        System.out.println("priority: "+t.getPriority());
        System.out.println("isDeamon: "+ t.isDaemon());
        System.out.println("isInterrupted: "+t.isInterrupted());
        System.out.println("isAlive: "+t.isAlive());

    }
}
